package oc_types

import "github.com/gin-gonic/gin"

// 响应请求体
const (
	SUCCESS = 200
	FAIL    = 100
)

// 开发版本返回体
type ResBody struct {
	Code  int         `json:"code"`
	Data  interface{} `json:"data"`
	Msg   string      `json:"msg"`
	Trace *Trace      `json:"trace,omitempty"`
}
type Trace struct {
	Error string   `json:"error"`
	Stack []string `json:"stack"`
}

// 统一返回体
func Response(code int, res ResBody, c *gin.Context) {
	var msg = ""
	if res.Msg == "" {
		if res.Code == 100 {
			msg = "失败"
		} else if res.Code == 200 {
			msg = "成功"
		} else {
			msg = "未定义错误"
		}
	} else {
		msg = res.Msg
	}
	c.JSON(code, gin.H{
		"code":  res.Code,
		"msg":   msg,
		"data":  res.Data,
		"trace": res.Trace,
	})
}
